← Projects

Java Bundle

01/2021 - 05/2021

Tech Stack:

https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/java/java-original.svg

Description: 9 Java projects that I did in a community college course


Huge thanks to my high school teacher Paul Marques (known as Mr.Marques) for teaching me Java. Without him, I don't think I would be able to major in computer science in college.

  1. BucketSort: Implements the bucket sort algorithm.
    • A bucket sort implementation using a linked list in Java. The main class BucketSortLL initializes an array of numbers and a linked list to hold them. It creates an array of buckets (linked lists), sorts the numbers by distributing them into buckets based on digit place values, and then gathers them back into the main list. The sorting process continues until the list is sorted. Supporting classes, LinkedList and Node, manage list operations and node data.
    • BucketSortLL: Main class with sorting logic.
    • LinkedList: Custom linked list implementation.
    • Node: Represents individual elements in the linked list.
  2. Comparables: Contains examples and exercises on the Comparable interface.
    • This package contains solid examples to learn about interface, abstract class, and inheritance in Java.
    • This shows how to use the Comparable interface to extend the functionality of classes.
    • Also learn about how compareTo() method works and comparable works in Java.
  3. FamilyTree: Manages and manipulates family tree structures.
    • A family tree is a hierarchical structure that represents the relationships between family members.
    • The family tree is structed as a linked list of linked lists, with each list representing a family member and their descendants.
    • This project truly taught me how complicate recursion works and how to manage pointers in Java.
  4. Grid: Implements grid-based data structures and operations.
    • Do you know the island problem in LeetCode? This project is similar to that problem.
    • Cannot believe I was already solving leetcode problem when I was in high school.
  5. Hashing: Covers hashing algorithms and their applications.
  6. ScrambleParagraph: Scrambles and manipulates paragraphs of text.
    • Scramble a paragraph of text by randomly permuting the words in it.
    • A lot of IO operations and string manipulation and smart function calls!
  7. StringSinM: Find the path in a maze using recursion.
    • Given a string, find if there is a path in a maze from the start to the end.
    • This project is a good example of how Backtracking, BFS and DFS works.
  8. TranslationMap: Handles translations between different data mappings.
    • A dictionary can be represented as a map in which each word is associated with a set of all its translations into another language.
    • For example, in an English-Spanish dictionary, holiday might be associated with {fiesta, vacaciones}; in a Spanish-English dictionary, fiesta might be associated with {holiday, party, celebration, feast}.
    • In a dictionary map, a word is a key and a set of its translations is a “value” associated with that key. Suppose the dictionary is implemented as a TreeMap and a set of translations for each word implemented as a TreeSet.
  9. TreeBalancing: Implements tree balancing algorithms and techniques
    • This project contains a binary search tree implementation in Java. The main class, TreeBalancing, initializes a binary search tree and inserts nodes into it.
    • Supporting classes, Node and Tree, manage tree operations and node data.